using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Entidades;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Publicaciones_Publicacion : System.Web.UI.Page
{

    public int? IdPostulacionSeleccionada
    {
        get { return Convert.ToInt32(ViewState["Id"]); }
        set { ViewState["Id"] = value; }
    }

    public int? IdUSuarioPost
    {
        get { return Convert.ToInt32(ViewState["IdUsP"]); }
        set { ViewState["IdUsP"] = value; }
    }

    protected void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if ((Request.QueryString["Ip"] != null))
            {
                IdPostulacionSeleccionada = Convert.ToInt32(Request.QueryString["Ip"]);
                traerPostulacion();
            }
        }
    }

    private void traerPostulacion()
    {
        try
        {
            Postulacion post = new Postulacion(Convert.ToInt32(IdPostulacionSeleccionada));
            IdUSuarioPost = post.IdUsuario;
            lblFecha.Text = post.FechaAlta.Value.ToString("dd/MM/yyyy");
            lblLocalidad.Text = post.Localidad.localidad + " - " + post.Localidad.Partido.partido + " - " + post.Localidad.Partido.Provincia.provincia;

            lblRecomendaciones.Text = "";

            foreach (Recomendacion item in post.Recomendaciones)
            {
                lblRecomendaciones.Text += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*" + item.Descripcion + "<br />" ;
            }

            lnkUsuario.Text = post.Usuario.Perfil.Nombre;



            lblReputacion.Text =
                //"Contrataciones: " + post.Usuario.Contrataciones.Count.ToString() + "<br />" +
                "<a href=" + ResolveUrl("~/Cuenta/ResumenUsuario.aspx") + "?Iu=" + post.Usuario.Id.ToString() + "><img src='" + ResolveUrl("~/Cuenta/ImagenPerfil/crops/") + post.Usuario.Id.ToString() + ".jpg" + "?i=" + DateTime.Now.Ticks.ToString() + "' class='ImagenPerfil' alt='' title='" + post.Usuario.Perfil.Nombre.ToString() + "' /></a><br/>" +
            "Contrataciones: " + post.Usuario.cantidadContratacionesRecibidas.ToString() + "<br />" +
                                "Calificaciones Positivas: " + post.Usuario.cantidadCalificacionesPositivas.ToString() + "<br />" +
                                "Calificaciones Negativas: " + post.Usuario.cantidadCalificacionesNegativas.ToString() + "<br />" +
                                "Calificaciones Total: " + post.Usuario.CalificacionTotal.ToString() + "<br />" +
                                "<span class='btn btn-default' Id='lnkRecomendaciones'>Recomendaciones: " + post.Recomendaciones.Count.ToString() + "</span><br />";

            ucPreguntasRecibidas1.IdUsuarioPublicacion = post.IdUsuario;
            lblTitulo.Text = post.Titulo;
            lblPublicacion.Text = post.Descripcion;
            ucEdiciones1.Ediciones = post.EdicionesPostulaciones;
            if (ControlSesion.VariableSesion.Id_User == 0)
                pnlPregunta.Visible = false;
            else
                pnlPregunta.Visible = true;

            if (post.Preguntas.Count > 0)
            {
                ucPreguntasRecibidas1.preguntas = post.Preguntas;
            }
            else
            {
                ucPreguntasRecibidas1.preguntas = null;
            }

            ucNavegacionCategoriasPadres1.Categoria = post.IdCategoria;
        }
        catch (Exception ex)
        {
            LUM.lum.mensaje(ex.Message);
        }


    }



    protected void LinkButton1_Click1(object sender, EventArgs e)
    {
        try
        {
            Pregunta pre = new Pregunta();
            pre.IdPostulacion = IdPostulacionSeleccionada.Value;
            pre.strPregunta = txtPregunta.Text;
            pre.IdUsuario = Convert.ToInt32(ControlSesion.VariableSesion.Id_User);
            pre.Alta();
            txtPregunta.Text = "";
            traerPostulacion();
        }
        catch (Exception ex)
        {
            LUM.lum.mensaje(ex.Message);
        }
    }

    protected void PreguntasRecibidas_PreguntaRespondida()
    {
        traerPostulacion();
    }

    protected void lnkUsuario_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Cuenta/ResumenUsuario.aspx?Iu=" + IdUSuarioPost.ToString());
    }

    protected void lnkContratar_Click(object sender, EventArgs e)
    {
        try
        {
            Contratacion con = new Contratacion();
            con.IdPostulacion = IdPostulacionSeleccionada.Value;
            con.IdUsuario = ControlSesion.VariableSesion.Id_User;
            con.Alta();
            LUM.lum.mensaje("Contratacion realizada con exito!!!!\n Recibira un mail con los datos del Postulado.");
        }
        catch (Exception ex)
        {
            LUM.lum.mensaje(ex.Message);
        }
    }
    protected void lnkRecomendar_Click(object sender, EventArgs e)
    {
        try
        {
            Recomendacion rec = new Recomendacion();
            rec.IdPostulacion = IdPostulacionSeleccionada.Value;
            rec.IdUsuario = ControlSesion.VariableSesion.Id_User;
            rec.Descripcion = txtRecomendar.Text;
            rec.Alta();
            traerPostulacion();

        }
        catch (Exception ex)
        {
            LUM.lum.mensaje(ex.Message);
        }
    }
}
